package finalproject;
import java.awt.Color;
import java.awt.GridLayout;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import javax.swing.ButtonGroup;
import javax.swing.JButton;
import javax.swing.JFrame;
import javax.swing.JLabel;
import javax.swing.JMenu;
import javax.swing.JMenuBar;
import javax.swing.JMenuItem;
import javax.swing.JOptionPane;
import javax.swing.JPanel;
import javax.swing.JRadioButton;
import javax.swing.JTextField;
public class FinalProject {
public static void main(String[] args) {
final JFrame frame = new JFrame("Converter");
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
frame.setSize(300, 200);
JMenuBar menuBar = new JMenuBar();
JMenu temperature = new JMenu("Temperature");
JMenu distance = new JMenu("Distance");
JMenu other = new JMenu("Other");
menuBar.add(temperature);
menuBar.add(distance);
menuBar.add(other);
final JMenuItem deg = new JMenuItem("Celsius & Fahrenheit");
final JMenuItem mile = new JMenuItem("Miles & Kilometers");
final JMenuItem yd = new JMenuItem("Yards & Meters");
final JMenuItem x = new JMenuItem("Babies");
temperature.add(deg);
distance.add(mile);
distance.add(yd);
other.add(x);
frame.setJMenuBar(menuBar);
final JPanel distancePanel = new JPanel();
final JLabel construction = new JLabel("Page Under Construction");
distancePanel.add(construction);
//final JLabel inputForDistance = new JLabel("Enter distance: ");
//distancePanel.add(inputForDistance);
//final JLabel outputForDistance = new JLabel(" ");
//final JLabel resultForDistance = new JLabel(" ");
//distancePanel.add(inputForDistance);
//distancePanel.add(outputForDistance);
//distancePanel.add(resultForDistance);
//ButtonGroup groupDistance = new ButtonGroup();
//final JRadioButton meter = new JRadioButton("m");
//final JRadioButton miles = new JRadioButton("mi");
//groupDistance.add(meter);
//groupDistance.add(miles);
//JPanel panel11 = new JPanel();
//JPanel panel22 = new JPanel();
//JPanel panel32 = new JPanel();
//panel11.add(inputForDistance);
final JPanel mainPanel = new JPanel();
final JLabel input = new JLabel("Enter degrees: ");
final JLabel output = new JLabel(" ");
final JLabel result = new JLabel(" ");
final JTextField degree = new JTextField(5);
ButtonGroup group = new ButtonGroup();
final JRadioButton fahrenheit = new JRadioButton("F");
final JRadioButton celsius = new JRadioButton("C");
group.add(fahrenheit);
group.add(celsius);
JButton button = new JButton("Convert");
class MenuListener implements ActionListener{
public void actionPerformed(ActionEvent event){
JMenuItem source = (JMenuItem) event.getSource();
if(source == mile){
frame.remove(mainPanel);
frame.add(distancePanel);
frame.invalidate();
frame.validate();
frame.repaint();
}else if(source == deg){
frame.remove(distancePanel);
frame.add(mainPanel);
frame.invalidate();
frame.validate();
frame.repaint();
}else if(source == yd){
int one = 1;
//while(one<1000){
JOptionPane.showMessageDialog(frame, "Yards & Meters has not been implemented yet");
//one++;
//}
}else if(source == x){
JOptionPane.showMessageDialog(frame, "No babies are here to convert yet.");
}
}
}
ActionListener menuListener = new MenuListener();
deg.addActionListener(menuListener);
mile.addActionListener(menuListener);
yd.addActionListener(menuListener);
x.addActionListener(menuListener);
class ConvertListener implements ActionListener{
public void actionPerformed(ActionEvent event){
if(fahrenheit.isSelected())
{
double f = Double.parseDouble(degree.getText());
double c = (f-32)*5/9;
result.setText(c+"");
output.setText("Degrees in Celcius: ");
}else if(celsius.isSelected()){
double c = Double.parseDouble(degree.getText());
double f = c*5/9+32;
result.setText(f+"");
output.setText("Degrees in Fahrenheit: ");
}else if(mile.isSelected()){
}
}
}
ActionListener listener = new ConvertListener();
button.addActionListener(listener);
JPanel panel1 = new JPanel();
JPanel panel2 = new JPanel();
JPanel panel3 = new JPanel();
panel1.add(input);
panel1.add(degree);
panel1.add(fahrenheit);
panel1.add(celsius);
panel2.add(button);
panel3.add(output);
panel3.add(result);
mainPanel.setLayout(new GridLayout(3,1));
mainPanel.add(panel1);
mainPanel.add(panel2);
mainPanel.add(panel3);
mainPanel.setBackground(Color.BLUE);
frame.add(mainPanel);
frame.setVisible(true);
}
}